import request from '@/utils/request'

/**
 * 消息通知API接口
 */

// 获取当前用户的消息通知列表
export function getMyNotifications(params) {
  return request({
    url: '/api/notifications/my-notifications',
    method: 'get',
    params
  })
}

// 标记通知为已读
export function markNotificationAsRead(notificationId) {
  return request({
    url: `/api/notifications/${notificationId}/read`,
    method: 'put'
  })
}

// 标记所有通知为已读
export function markAllNotificationsAsRead() {
  return request({
    url: '/api/notifications/mark-all-read',
    method: 'put'
  })
}

// 删除通知
export function deleteNotification(notificationId) {
  return request({
    url: `/api/notifications/${notificationId}`,
    method: 'delete'
  })
}

// 获取未读通知数量
export function getUnreadNotificationCount() {
  return request({
    url: '/api/notifications/unread-count',
    method: 'get'
  })
}

// 获取通知类型列表
export function getNotificationTypes() {
  return request({
    url: '/api/notifications/types',
    method: 'get'
  })
}

// 发送系统通知（管理员功能）
export function sendSystemNotification(notificationData) {
  return request({
    url: '/api/notifications/send',
    method: 'post',
    data: notificationData
  })
}

// 批量发送通知（管理员功能）
export function batchSendNotifications(notificationData) {
  return request({
    url: '/api/notifications/batch-send',
    method: 'post',
    data: notificationData
  })
}